package com.zenithmind.document.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

/**
 * 文档创建DTO
 * 
 * @author ZenithMind Team
 * @since 2025-01-09
 */
@Data
@Schema(description = "文档创建DTO")
public class DocumentCreateDTO {

    /**
     * 文档名称
     */
    @NotBlank(message = "文档名称不能为空")
    @Schema(description = "文档名称")
    private String name;

    /**
     * 文档标题
     */
    @Schema(description = "文档标题")
    private String title;

    /**
     * 文档描述
     */
    @Schema(description = "文档描述")
    private String description;

    /**
     * 文档类型
     */
    @NotBlank(message = "文档类型不能为空")
    @Schema(description = "文档类型")
    private String type;

    /**
     * 文档分类ID
     */
    @Schema(description = "文档分类ID")
    private String categoryId;

    /**
     * 文档标签
     */
    @Schema(description = "文档标签")
    private String tags;

    /**
     * 文档内容
     */
    @Schema(description = "文档内容")
    private String content;

    /**
     * 访问权限（0:私有, 1:公开, 2:部门, 3:指定用户）
     */
    @Schema(description = "访问权限")
    private Integer accessLevel;

    /**
     * 权限配置
     */
    @Schema(description = "权限配置")
    private String permissionConfig;

    /**
     * 是否加密
     */
    @Schema(description = "是否加密")
    private Boolean isEncrypted;

    /**
     * 模板ID（如果基于模板创建）
     */
    @Schema(description = "模板ID")
    private String templateId;
}
